<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:maml="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:doc="http://ddue.schemas.microsoft.com/authoring/internal" targetNamespace="http://ddue.schemas.microsoft.com/authoring/2003/5" blockDefault="#all" elementFormDefault="qualified" attributeFormDefault="unqualified" xml:lang="en">
	<!-- Schema documentation -->
	<annotation>
		<documentation>
            This schema describes MAML, the Microsoft Assistance Markup Language.
            MAML is intended for software documentation. In particular, it is 
            intended to accomodate the needs of Microsoft documentation.
        </documentation>
		<documentation>
            The schema is broken into three main areas: end user, developer and
            IT Pro. These areas adequaltely categorize Microsoft
            documentation.
        </documentation>
		<documentation>
         The namespace uri for this version of Maml is: http://ddue.schemas.microsoft.com/authoring/2003/5.
         Each backwards-incompatible revision to Maml will require that the date fields be appropriately
         incremented in uri of the updated version of the Maml schema.
        </documentation>
	</annotation>
	<include schemaLocation="developerStructure.xsd" />
	<include schemaLocation="developerReference.xsd" />
	<include schemaLocation="hierarchy.xsd" />
	<include schemaLocation="glossary.xsd" />
	<!--<include schemaLocation="conditionset.xsd" />-->
	
	<!-- ************ Reference Content Document Type ************ -->
	<complexType name="codeEntityDocumentType" mixed="false">
		<sequence>
			<element ref="maml:assembly" />
			<element ref="maml:codeEntities" />
		</sequence>
	</complexType>
	<element name="codeEntityDocument" type="maml:codeEntityDocumentType">
		<annotation>
			<documentation>
            This is the root element of a reference document.
            </documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ How To Content Document Type ************ -->
	<complexType name="developerHowToDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Optional procedures followed by optional code example
			but must have at least one procedure or code example -->
			<choice>
				<sequence>
					<!-- One or more procedures -->
					<choice minOccurs="1" maxOccurs="unbounded" >
					    <element ref="maml:procedure"/>
					    <element name="section" type="maml:procedureSectionType"/>
					</choice>
					<!-- An optional code example -->
					<element ref="maml:codeExample" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
				<element ref="maml:codeExample" maxOccurs="unbounded"/>
			</choice>
			<element ref="maml:buildInstructions" minOccurs="0"/>
			<element ref="maml:robustProgramming" minOccurs="0"/>
			<element ref="maml:security" minOccurs="0"/>
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerHowToDocument" type="maml:developerHowToDocumentType">
		<annotation>
			<documentation>
            This is the root element of a 'how to' document.
            </documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Conceptual Document Type ************ -->
	<complexType name="developerConceptualDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- One or more sections -->
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerConceptualDocument" type="maml:developerConceptualDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'conceptual' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Walkthrough Document Type ************ -->
	<complexType name="developerWalkthroughDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Optional Prerequisites section -->
			<element name="prerequisites" type="maml:namedSectionType" minOccurs="0" />
			<!-- One procedures and or section with procedure
			but must have at least one procedure or section with procedure -->
			<choice minOccurs="1" maxOccurs="unbounded" >
					    <element ref="maml:procedure"/>
					    <element ref="maml:section"/>
			</choice>
			<!-- Optional Next Steps section -->
			<element name="nextSteps" type="maml:namedSectionType" minOccurs="0" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerWalkthroughDocument" type="maml:developerWalkthroughDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'walkthrough' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Orientation Document Type ************ -->
	<complexType name="developerOrientationDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Optional "In This Section" section -->
			<element name="inThisSection" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Reference section -->
			<element name="reference" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional "Related Sections" section -->
			<element name="relatedSections" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional External Resources section -->
			<element name="externalResources" type="maml:externalResourcesType" minOccurs="0" />
			<!-- Optional section for related items -->
			<element ref="maml:relatedTopics" minOccurs="0" />
		</sequence>
	</complexType>
	<element name="developerOrientationDocument" type="maml:developerOrientationDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'orientation' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Sample Document Type ************ -->
	<complexType name="developerSampleDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Zero or more procedures -->
			<element ref="maml:procedure" minOccurs="0" maxOccurs="unbounded" />
			<!-- Optional Requirements section -->
			<element name="requirements" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Demonstrates section -->
			<element name="demonstrates" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional code example -->
			<element ref="maml:codeExample" minOccurs="0" maxOccurs="unbounded"/>
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerSampleDocument" type="maml:developerSampleDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'sample' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Troubleshooting Document Type ************ -->
	<complexType name="developerTroubleshootingDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Zero or more sections -->
			<!-- Note: sections can contain procedures -->
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerTroubleshootingDocument" type="maml:developerTroubleshootingDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'troubleshooting' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Reference Without Syntax Document Type ************ -->
	<complexType name="developerReferenceWithoutSyntaxDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<choice maxOccurs="unbounded" >
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			<!-- Optional Remarks section -->
			<element name="languageReferenceRemarks" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Code Example section -->
			<element ref="maml:codeExample" minOccurs="0" maxOccurs="unbounded"/>
			</choice>
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerReferenceWithoutSyntaxDocument" type="maml:developerReferenceWithoutSyntaxDocumentType">
		<annotation>
			<documentation>
		    This element is the root of a 'general reference' document.
		    </documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Reference With Syntax Document Type ************ -->
	<complexType name="developerReferenceWithSyntaxDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Always a Syntax section -->
			<element ref="maml:syntaxSection" maxOccurs="unbounded" />
			<choice maxOccurs="unbounded" >
			<!-- Optional Parameters section -->
			<element name="parameters" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Return Value/Property Value section -->
			<element name="returnValue" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Exceptions section -->
			<element name="exceptions" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Remarks section -->
			<element name="languageReferenceRemarks" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Code Example section -->
			<element ref="maml:codeExample" minOccurs="0" />
			<!-- Optional .NET Framework Equivalent section -->
			<element name="dotNetFrameworkEquivalent" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional Requirements section -->
			<element name="requirements" type="maml:namedSectionType" minOccurs="0" />
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			</choice>
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerReferenceWithSyntaxDocument" type="maml:developerReferenceWithSyntaxDocumentType">
		<annotation>
			<documentation>
		    This element is the root of a document that contains reference and syntax.
		    </documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Error Message Document Type ************ -->
	<complexType name="developerErrorMessageDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Non Localizable Error Title -->
			<element ref="maml:nonLocErrorTitle" minOccurs="0" />
			<!-- Optional Localizable Secondary Error Title -->
			<element ref="maml:secondaryErrorTitle" minOccurs="0" />
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Zero or more procedures -->
			<element ref="maml:procedure" minOccurs="0" maxOccurs="unbounded" />
			<!-- Optional code example -->
			<element ref="maml:codeExample" minOccurs="0" maxOccurs="unbounded"/>
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" minOccurs="0" />
		</sequence>
	</complexType>
	<element name="developerErrorMessageDocument" type="maml:developerErrorMessageDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'error message' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ UI Reference Document Type ************ -->
	<complexType name="developerUIReferenceDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Always a Task List section -->
			<element name="taskList" type="maml:namedSectionType" minOccurs="0" />
			<choice maxOccurs="unbounded" >
			<!-- Optional sections -->
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded" />
			<!-- Always a UI Element List section -->
			<element name="uiElementList" type="maml:namedSectionType" />
			</choice>
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerUIReferenceDocument" type="maml:developerUIReferenceDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'UI reference' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ SDK Technology Overview Orientation Document Type ************ -->
	<complexType name="developerSDKTechnologyOverviewOrientationDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- One "In This Section" section -->
			<element name="inThisSection" type="maml:namedSectionType" />
			<!-- Optional Reference section -->
			<element name="reference" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional "Related Sections" section -->
			<element name="relatedSections" type="maml:namedSectionType" minOccurs="0" />
			<!-- Optional External Resources section -->
			<element name="externalResources" type="maml:externalResourcesType" minOccurs="0" />
		</sequence>
	</complexType>
	<element name="developerSDKTechnologyOverviewOrientationDocument" type="maml:developerSDKTechnologyOverviewOrientationDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'orientation' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>
	<!-- ************ SDK Technology Overview Technology Summary Document Type ************ -->
	<complexType name="developerSDKTechnologyOverviewTechnologySummaryDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Always a Keywords section -->
			<element name="keywords" type="maml:namedSectionType" />
			<!-- Always a Namespaces section -->
			<element name="namespaces" type="maml:namedSectionType" />
			<!-- Optional Related Technologies section -->
			<element name="relatedTechnologies" type="maml:namedSectionType" minOccurs="0" />
			<!-- Always a Background section -->
			<element name="background" type="maml:namedSectionType" />
			<!-- Always an Implementing (Technology Name) Classes section -->
			<element name="implementingTechnologyNameClasses" type="maml:sectionType" />
			<!-- Always a (Technology Name) Classes at a Glance section -->
			<element name="technologyNameClassesAtAGlance" type="maml:sectionType" />
			<!-- Optional What's New section -->
			<element name="whatsNew" type="maml:namedSectionType" minOccurs="0" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerSDKTechnologyOverviewTechnologySummaryDocument" type="maml:developerSDKTechnologyOverviewTechnologySummaryDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'technology summary' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ SDK Technology Overview Architecture Document Type ************ -->
	<element name="developerSDKTechnologyOverviewArchitectureDocument" type="maml:developerConceptualDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'architecture' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ SDK Technology Overview Scenarios Document Type ************ -->
	<element name="developerSDKTechnologyOverviewScenariosDocument" type="maml:developerConceptualDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'scenarios' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ SDK Technology Overview Code Directory Document Type ************ -->
	<complexType name="developerSDKTechnologyOverviewCodeDirectoryDocumentType" mixed="false">
		<sequence>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<element ref="maml:summary" minOccurs="0" />
			<!-- Always an introduction -->
			<element ref="maml:introduction" />
			<!-- Always a Code List section -->
			<element name="codeList" type="maml:namedSectionType" />
			<!-- Always a section for related items -->
			<element ref="maml:relatedTopics" />
		</sequence>
	</complexType>
	<element name="developerSDKTechnologyOverviewCodeDirectoryDocument" type="maml:developerSDKTechnologyOverviewCodeDirectoryDocumentType">
		<annotation>
			<documentation>
		This element is the root of an 'UI reference' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Whitepaper Document Type ************ -->
	<complexType name="developerWhitePaperDocumentType" mixed="false">
		<sequence>
			<element ref="maml:summary" minOccurs="0"/>
			<element name="byline" type="maml:singleParagraphSimpleContentType"/>
			<element name="date" type="maml:singleParagraphSimpleContentType"/>
			<element name="summarySection" type="maml:namedSectionType"/>
			<element name="downloadCenterLink" type="maml:namedSectionType" minOccurs="0"/>
			<element name="appliesTo" type="maml:namedSectionType" minOccurs="0"/>
			<element name="contents" type="maml:namedSectionType" minOccurs="0"/>
			<element ref="maml:introduction"/>
			<element ref="maml:section" minOccurs="0" maxOccurs="unbounded"/>
			<element ref="maml:conclusion"/>
			<element ref="maml:relatedTopics" minOccurs="0"/>
			<element name="additionalInformation" type="maml:namedSectionType" minOccurs="0"/>
			<element name="authorBio" type="maml:namedSectionType" minOccurs="0"/>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<!-- Optional "Download Center/Sample Manager link" section -->
			<!-- Optional "Applies To" section -->
			<!-- Always an introduction -->
			<!-- Always a body section -->
			<!-- Optional Code Example section -->
			<!-- Always a conclusion -->
			<!-- Optional section for related items -->
		</sequence>
	</complexType>
	<element name="developerWhitePaperDocument" type="maml:developerWhitePaperDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'sample' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ Glossary Document Type ************ -->
	<complexType name="developerGlossaryDocumentType" mixed="false">
		<sequence>
			<element ref="maml:glossary" />
		</sequence>
	</complexType>
	<element name="developerGlossaryDocument" type="maml:developerGlossaryDocumentType">
		<annotation>
			<documentation>
		This element is the root of a 'glossary' document.
		</documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>

	<!-- ************ XML Reference Document Type ************ -->
	<complexType name="developerXmlReferenceDocumentType" mixed="false">
		<sequence>
			<element ref="maml:summary" minOccurs="0"/>
			<element ref="maml:introduction"/>
			<element ref="maml:schemaHierarchy" minOccurs="0"/>
			<element ref="maml:syntaxSection"/>
			<element name="type" type="maml:singleParagraphSimpleContentType" minOccurs="0"/>
			<element ref="maml:attributesandElements"/>
			<element name="textValue" type="maml:namedSectionType" minOccurs="0"/>
			<element name="remarks" type="maml:namedSectionType" minOccurs="0"/>
			<element ref="maml:codeExample" minOccurs="0" maxOccurs="unbounded"/>
			<element ref="maml:elementInformation" minOccurs="0"/>
			<element ref="maml:relatedTopics"/>
			<!-- Always a title - but titles are stored outside the file -->
			<!-- Optional Search Results Summary -->
			<!-- Always an introduction -->
			<!-- Always a section for related items -->
		</sequence>
	</complexType>
	<element name="developerXmlReference" type="maml:developerXmlReferenceDocumentType">
		<annotation>
			<documentation>
		    This element is the root of a document that contains reference and syntax.
		    </documentation>
			<appinfo>
				<doc:localizable>n/a</doc:localizable>
				<doc:type>section</doc:type>
			</appinfo>
		</annotation>
	</element>
	
</schema>